15DaysofSwiftAnimation

되게 많아 보입니다.네 아직 11일째

15일째 리뷰를 할 걸 그랬나요. 따끈 따끈한 프로젝트가 왔습니다. 애니메이션 때문에 mpeg to gif 앱도 몇가지를 깔게 되는군요. 아 이게 새로운 맥을 사서 가능해진 호사네요.

15days swift, 30days android 등등 시리즈들이 지속적으로 깃헙에는 올라옵니다. 오늘 소개해 드릴 프로젝트는 그 중에서 Swift의 애니메이션을 코드로 어떻게 짜는지에 대한 프로젝트 입니다.

2016/05/07 Editor’s choice

larrynatalicio/15DaysofAnimationsinSwift
_15DaysofAnimationsinSwift - A project to learn animations._github.com

흠.. 개발자의 완성은? 얼….


설치해 봅시다

설치할게 뭐 있을까 싶네요

$git clone [https://github.com/larrynatalicio/15DaysofAnimationsinSwift.git][anchor2]

프로젝트를 받고 나면

4일 남았군요.

다음과 같은 프로젝트들이 있습니다.


실행해 봅시다

1번과 6번을 실행해 볼 예정입니다.

NavigationBarAnimation

아래와 같이 스크롤해서 내려가면 NavigationBar가 사라졌다가 다시 스크롤을 올리면 NavigationBar 가 복귀되는 간단한 프로젝트입니다.

XCODE를 열어서 확인해 보겠습니다. 아마도 많은 사람들이 그냥 간단하게 할 수 있을거라고 생각하시는 부분일텐데요.

xcode

AppDelegate는 주로 앱 전체 옵션들을 정할 수 있고, ViewController를 확인해 보면 스크롤 액션에 대한 소스들을 확인할 수 있습니다.

UITableViewController 를 상속한 ViewController의 소스는 다음과 같습니다.

마지막 configureNavigationController 함수의

hideBarOnSwipe 만 false 로 바꾸면 동작하지 않는 간단한 예제 입니다.

StretchyHeaderAnimation

이 예제는 스크롤을 당기면 화면의 이미지가 줌되는 애니메이션을 보여줍니다. 일단 스크린샷을 보시면 감이 오실 거 같습니다.

으어억 성이 커진다

성을 광화문으로 바꿔볼까요?

광화문이다~

Supporting Files의 Asset에 kcastle.jpg 만 집어 넣고 Main.storyboard 의 이미지만 kcastle로 선택해 주면 화면은 바뀝니다.

이렇게 말이죠.

이런 일을 하는 소스를 한번 살펴 봐야겠죠? 첫번째 예제의 경우와 똑같이 ViewController 소스를 살펴봐야합니다.

이 updateHeaderView 의 y값과 Height를 변경해 주는 것으로 애니메이션이 실행됩니다.

이 함수를 viewDidLoad와 scrollViewDidScroll 에서 호출을 해 줘서 화면이 뜨고 스크롤이 될때 값이 변하는 형태로 애니메이션을 구현했네요.

scrollViewDidScroll 은 UIScrollViewDelegate에서 가져왔네요.

Swift를 하면서 수려한 애니메이션을 구현하시고 싶었던 분들에게는 무척이나 좋은 프로젝트가 될 것 같습니다.

By Keen Dev on May 7, 2016.

Exported from Medium on May 31, 2017.